# 除非遍历，未知序列长度
# 

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

class Solution:
    def middleNode(self, 头: ListNode) -> ListNode:
        先 = 后 = 头
        长度 = 0
        while 先:
            先 = 先.next
            长度 += 1
        半长 = 长度 // 2
        步数 = 0
        while 步数 < 半长:
            后 = 后.next
            步数 += 1
        return 后





解 = Solution()
头5 = ListNode(1, ListNode(2, ListNode(3, ListNode(4, ListNode(5)))))
print(解.middleNode(头5).val)
头6 = ListNode(1, ListNode(2, ListNode(3, ListNode(4, ListNode(5, ListNode(6))))))
print(解.middleNode(头6).val)
